A communications system manages and provides resources for use by e.g. its connected users for the purpose of enabling utilization of communications services in the system. For example, a radio communications system provides radio resources that its mobile users then utilize for conducting e.g. voice, packet transmission and streaming services.
The communications system typically only has access to a limited pool of resources, which are portioned out between the different users and services. Thus, the users and services can be regarded as competing for the limited amount of resources. In addition, in some communications system, or for certain resource types, the demands for resources change at specific events. Such events could be the addition of a new service, the closing of a communications session or a change in the requirements set by the end-user application. Often some explicit signaling follows these kinds of events. This signaling is then used to trigger the execution of a resource allocation procedure. For example, each time a new call is to be set up in a Global System for Mobile communications (GSM) system, a resource allocation unit or system has to look for an available channel, a time slot (radio resource) is then allocated to the user, or the call request is denied (which may result in a blocked call or a failed handover). In this example, the resource, i.e. time slot, is explicitly allocated and retrieved by a resource allocation procedure initiated by the allocation unit.
In other communications system, or for other resource types, the demand for resources may dynamically change due to other reasons. For instance, in a power controlled mobile communications system, such as Universal Mobile Telecommunications System (UMTS) or Code Division Multiple Access (CDMA) 2000 systems, the power control loop adapts the transmitted power in response to changes in the radio conditions experienced over the radio connection. Such condition changes can be the result of the mobility of the user equipment or caused by changes in the interference level experienced by the receivers. However, even for fixed radio connections, the power demand may vary due to changes in interference levels (caused by other systems), due to mobility issues or due to changes in the propagation environment (e.g. due to changes in the weather conditions). In this case, a resource allocation has to be continuously (or periodically) updated, so that the allocated resources match a current resource demand.
A particular aspect of some communications systems is that the resource allocation architecture is split into several layers. For example, the fast power control in Universal Terrestrial Radio Access Network (UTRAN) is a standardized procedure at link level, which treats each connection independently. As a consequence, the fast power control algorithm is sometimes not seen as a resource allocation algorithm. In this context, the resource allocation procedures are then viewed as trying to influence the resource demand. For example, the resource demand for a certain channel may be reduced, at least in average, by reducing the bit-rate available on that channel.
Accordingly, even in systems where the resource cannot directly be affected by a resource allocation procedure (as is the case with the power in UTRAN, discussed above), there might be procedures that ultimately influence the resource demand. For example, a down-switch from a dedicated channel with high bit-rate to a dedicated channel with lower bit-rate or to a common channel can be regarded as a resource pre-emption procedure and therefore can be used to cope with changes, such as an unexpected increase, in the resource demands.
In the present description, the expression “resource allocation procedure” includes any procedure that ultimately leads to a change in the amount of used resources, even if the procedure does not directly effect the resource usage. Thus, the expression also includes resource (re)allocation and pre-emption procedures.
A general case of a communications system with a limited pool of resources is a communications system, in which a sender transmits, in the same time, signals to a number of receivers. This can be exemplified by the downlink transmission between a base station and a number of mobile units in a UMTS system. A common pool of (radio) resources (e.g. the total downlink power, or carrier power) is shared between the different links. The specific amount of resources allocated to a link depends, among others, on the characteristics of the communications service provided by the sender on that link, but also on other external factors that cannot be controlled by the sender. For example, the amount of power required by a link in a mobile radio communications system depends on the bit-rate required by the communications service and can therefore be controlled by the sender by changing the provided bit-rate. However, the amount of power required by the link also depends on factors out of control for the sender, such as the position and movement of the mobile user equipment, the interference induced by other systems, etc.
Since the total amount of used resources (total resource utilization) in a communications system with shared resources is the sum of the amount of resources used on each link, i.e. allocated for each user, the increase in total resource utilization can be caused by an increase in the number of links and/or by an increase in the amount of resources used by the individual links. There is typically no problem as long as the total resource utilization is below the total amount of available resources, but as the total resource utilization increases too much and the resources become scarce, actions have to be taken to limit or reduce the resource utilization.
One way to limit the total resource utilization is to hinder the increase in the number of links, a procedure called admission control in the art. An alternative solution is to remove a link belonging to a user with low priority, when a high priority user requires access to a service. This is the case with SOS calls in a GSM system.
However, the increase in the total resource demand or utilization can, as was mentioned above, be due to increases in the amount of resources used for the links. Such increases in demanded resources can be caused by the mobility of the user equipment, changes in the behavior of a provided service, etc. In this case, the amount of resources presently allocated to one or several links has to be decreased, a procedure called congestion control in the art.
In a general case, in which users have different priorities and the services provided to the users have different demands, the admission and congestion control can be seen as particular cases of a resource allocation procedure. A relevant example is when the increased amount of resources allocated to a link with high priority, e.g. due to an increase of demanded bit-rate, the addition of a new bearer to a multi-bearer connection, etc., is done by reducing the amount of resources allocated to a low priority link.
The common solution for a communications system to prevent the resource demand or utilization from exceeding the maximum total resource limit, which is often determined by hardware limitations, is to initiate a resource allocation.
However, this resource allocation can in most cases be performed by several different allocation procedures. A problem then is how to select which allocation procedure to employ, but also how to select which link to be affected by the resource allocation, in the case of a choice between different procedures and/or links that leads to the same end-result. For example, some resource allocation procedures, such as channel down-switch, require rather extensive signaling and handshaking between the sender and the receiver and consequently require a long time before the allocation becomes effective. Other resource allocation procedures do not require handshaking and therefore have a relatively shorter execution time. This scenario is exemplified in FIG. 1.
At time t0 the communications system is in a situation where the resource demand is unacceptable high and therefore a resource allocation procedure must be applied in order to reduce the overall resource utilization. Assume that in this situation two different procedures can be employed in order to reduce the resource utilization with the same amount. One of these two procedures requires handshaking between the sender and the receiver and, thus, has a long execution time (slow procedure). The second procedure is fast, i.e. has shorter execution time. In addition, both procedures result in the same quality of service (QoS) requirements for a user, as exemplified by the provided bit-rate of 64 kps. Call t1 a time after the execution of the procedures, i.e. when the resource allocation is completed. Assume that a new resource shortage occurs and additional resources must be released (resulting in a reduction of bit-rate to 48 kps). Further assume that for the first case, i.e. employing a fast resource allocation procedure in time t0, now only slow allocation procedures are available. However, for the second case, i.e. employing a slow resource allocation procedure in time t0, now both fast and slow allocation procedures are available. At time t2, the second resource allocation is completed.
The situations at time t0, t1 and t2 can be regarded as states in a state machine. From an initial state A at time t0 two different resource allocation procedures can be employed. Depending on the employed procedure, one of two states (B or C) is reached at time t1. From the point of view of the amount of utilized resources and from the QoS (bit-rate) point of view, the two states are identical. However, the states differ in the procedures available for the next transition. Thus, transition from state B (to D) can only be performed with a slow procedure, while transition from state C can be done with a fast procedure (to E) or a slow procedure (to F).
An allocation unit or system is generally adapted to always employ to a fast resource allocation procedure, if available. With reference to FIG. 1, this corresponds to selecting a fast allocation procedure at time t0, i.e. the transition from state A to B. However, it might then be possible that the subsequent resource allocation, i.e. from B to D, is time critical. Since now only slow procedures are available according to FIG. 1, system instability might occur if the resource demand becomes too large before the slow allocation is completely executed.